﻿using Abp.Domain.Entities;
using Dapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace Mall.DomainModel.Dto.Query
{
    public interface IQueryObject<Entity>
    {
        int Skip { get; set; }

        int Count { get; set; }

        List<Expression<Func<Entity, bool>>> QueryExpression { get; }

        Dictionary<string, DynamicParameters> QuerySql { get; }

        SortOrder OrderSort { get; }

        Expression<Func<Entity, object>> OrderField { get; }
    }

    public enum SortOrder
    {
        None,
        ASC,
        DESC
    }
}
